package com.zmn.oms.model.vo.work.refund;

import com.zmn.oms.common.dto.OmsOperator;
import com.zmn.oms.common.vo.KVDict;
import lombok.Data;
import lombok.ToString;

import java.util.List;

/**
 * 类描述：退款
 * @author heciqi
 * @date 2019/8/12 20:08
 */
@Data
@ToString(callSuper = true)
public class RefundVO extends OmsOperator {
    /**
     * 退款用户类型
     * @see com.zmn.common.constant.GlobalConsts#OPERATE_USER_TYPE_USER
     * refundUserType = 4 用户申请退款
     */
    private Integer refundUserType;

    /**
     * 工单状态
     */
    private Integer status;

    /**
     * 工单结果
     */
    private Integer resultStatus;

    /**
     * 退款列表
     */
    private List<RefundAmountVO> refundList;

    /**
     * 工程师列表
     */
    private List<KVDict<Integer>> masterList;

    /**
     * 服务商列表
     */
    private List<KVDict<Integer>> companyList;

    /**
     * 服务商是否可选
     */
    private Boolean unChange;

    /**
     * 服务平台
     */
    private Integer platWork;

    /**
     * 退款缘由内容
     */
    private String content;

    /**
     * 退款金额
     */
    private Integer refundAmount;

    /**
     * 支持原路退款
     */
    private Integer backtrackingAmount;

    /**
     * 不支持支持原路退款
     */
    private NoBacktrackingAmountVO noBacktrackingAmountVO;

    /**
     * 是否能修改可退金额
     * 1不能修改，2 能修改
     */
    private Integer updateRefundAmount;

    /**
     * 是否支持原路退款
     */
    private boolean supportBacktracking;

    /**
     * 是否支持人工退款
     */
    private boolean supportManualRefund;

    /**
     * 原单收入
     */
    private Integer originalAmount;

    /**
     * 已退金额
     */
    private Integer haveRefundAmount;

    /**
     * 已原路退金额
     */
    private Integer haveBacktrackingAmount;

    /**
     * 退款类型：1 原路返回，2 线下退款
     */
    private Integer refundType;

    /**
     * 退款目标渠道
     */
    private Integer payTargetChannelId;

    /**
     * 收款人帐号
     */
    private String payeeThirdAccount;

    /**
     * 收款人帐号名称
     */
    private String payeeThirdAccountName;

    /**
     * 收款人一行
     */
    private String payeeThirdAccountBank;

    /**
     * 退款方式文本
     */
    private String refundTypeText;

    /**
     * 退款缘由
     */
    private List<KVDict<Integer>> refundReason;

    /**
     * 付款人第三方帐号(支付宝，微信.)
     */
    private String payerThirdAccount;

    /**
     * 付款账号名
     */
    private String payerThirdAccountName;

    /**
     * 支付渠道 1.支付宝 2.微信
     */
    private Integer payChannelId;
}
